const { resolve } = require("path");
//导入 htmlWebpackPlugin
const htmlWebpackPlugin = require('html-webpack-plugin');
// 暴露对象 webpack 是基于 node.js 的打包工具
module.exports = {
  //入口
  entry: "./src/index.ts",
  //出口
  output: {
    //绝对路径  windows  \    linux  /
    path: resolve(__dirname, "./build"), //__dirname + '/build'
    filename: "bundle.js", //bundle 捆
    //每次打包前都会自动的清空打包目录
    clean: true,
  },
  //模式
  mode: "development",
  //加载器 loader
  module: {
    rules: [
      {
        test: /\.tsx?$/, // ts  tsx
        loader: "ts-loader",
      },
    ],
  },
  //resolve 解决   import test from './test'
  resolve: {
    extensions: [".ts", ".tsx", ".js"],
  },
  //插件
  plugins: [
    new htmlWebpackPlugin({
      template: './public/index.html'
    })
  ],
  //配置开发服务
  devServer: {
    //开发服务监听的端口
    port: 3000,
    //是否自动打开浏览器
    open: true,
    //开启热膜块替换功能
    hot: true
  }
};

// webpack 的配置文件不能这么写
// export default {

// }
